package monopoly;

public abstract class Property {
	
	private Player owner;
	private double price;
	private String iconImage;
	private String description;
	
	public Property()
	{
		this.owner = null;
		this.price = 0.0;
	}
	
	public Property(double price, String iconImage, String description)
	{
		this.owner = null;
		this.price = price;
		this.iconImage = iconImage;
		this.description = description;
	}
	
	public Player getOwner()
	{
		return this.owner;
	}
	
	public void setOwner(Player owner)
	{
		this.owner = owner;
	}
	
	public boolean isAvailable()
	{
		if (this.owner == null)
			return true;
		else
			return false;
	}
	
	
	public double getPrice()
	{
		return this.price;
	}
	
	public String getIconImage()
	{
		return this.iconImage;
	}
	
	public String getDescription()
	{
		return this.description;
	}

	public abstract void purchase(Player player);

	public abstract double getRent(GameState gameState, int rentMultiplier);

}
